package cn.com.headfree.depterprela.service;

import java.sql.SQLException;
import java.util.List;

import com.gta.edu.sdk.base.service.IBaseService;
import com.gta.edu.sdk.common.dto.Page;

import cn.com.headfree.entity.TBusinessWorkflowBind;
import cn.com.headfree.entity.TDeptEmpRela;
import cn.com.headfree.entity.TIscRole;
import cn.com.headfree.entity.UserDeptERpRelaMsg;

/**  
 * @Title  IDeptErpRelaService.java   
 * @Package cn.com.headfree.depterprela.service   
 * @Description 用户部门Erp关联信息service
 * @author yangwang 
 * @date  2020年7月3日 下午5:07:54   
 */
public interface IDeptErpRelaService extends IBaseService<TDeptEmpRela> {

	/**
	 * 获取部门下所有人员
	 * @param userMsg
	 *  */
	void  getUsersOfDeptPage(Page<UserDeptERpRelaMsg> page,UserDeptERpRelaMsg userMsg);

	/**
	 * 获取人员erp编码信息
	 * @param userIds
	 * @return List<UserDeptERpRelaMsg>
	 *  */
	List<UserDeptERpRelaMsg> getErpNoByUserIds(String userIds);
	
	/**
	 * 新增角色信息
	 * @param role
	 *  */
	void saveIscRole(TIscRole role);
	
	/**
	 * 保存角色信息
	 * @param roleList
	 * @throws SQLException 
	 *  */
	void saveIscRole(List<TIscRole> roleList) throws SQLException;
	
	/**
	 *根据id获取角色信息
	 * @param id
	 * @return TIscRole
	 *  */
	TIscRole getIscRoleById(String id);
	
	/**
	 *根据code获取角色信息
	 * @param code
	 * @return List<TIscRole>
	 *  */
	List<TIscRole> getIscRoleByCode(String code);
	
	/**
	 * 获取角色信息
	 * @param ids
	 *  */
	List<TIscRole> getIscRoleList(TIscRole role);
	
	/**
	 * 获取角色信息
	 * @param bind 
	 * @return TBusinessWorkflowBind
	 *  */
	TBusinessWorkflowBind getBusinessBind(TBusinessWorkflowBind bind);

	/**
	 * 根据人员erp编码获取OrgId
	 * @param erpNo
	 * @return List<UserDeptERpRelaMsg>
	 *  */
	List<TDeptEmpRela> getOrgIdByErpNo(String erpNo);

	/**
	 * 根据人员erp编码获取所在部门信息
	 * @param erpNo
	 * @return List<UserDeptERpRelaMsg>
	 *  */
	List<TDeptEmpRela> getDeptInfoByErpNo(String erpNo);

	/**
	 * 根据登录人的单位id(orgId)获取所有erpNo
	 */
	List<TDeptEmpRela> getErpNoByOrgId(String orgId);

	/**
	 * 根据erp_no获取部门全路径(path)
	 */
	List<TDeptEmpRela> getFullDeptPathByErpNo(String erpNo);
	
	/**
	 * 根据deptId获取部门名称
	 * @param deptId
	 * @return
	 */
	TDeptEmpRela getDeptInfoByDeptId(String deptId);
	
}
